package cn.collection.set;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Demo01 {
    /*
    1.泛型
        1.1 泛型概述
            泛型的介绍
            泛型是JDK5中引入的特性，它提供了编译时类型安全检测机制
            泛型的好处
                把运行时期的问题提前到了编译期间
                避免了强制类型转换
                泛型的定义格式
            <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:
            <类型1,类型2…>: 指定多种类型的格式,多种类型之间用逗号隔开.例如: <E,T> <K,V>
    2.Set集合
        2.1 Set集合概述和特点【应用】
            不可以存储重复元素
            没有索引,不能使用普通for循环遍历
    * */
    public static void main(String[] args) {
        //创建集合对象
        Set<String> set = new TreeSet<>();
        //添加元素
        set.add("ccc");
        set.add("aaa");
        set.add("aaa");
        set.add("bbb");

//        for (int i = 0; i < set.size(); i++) {
//            //Set集合是没有索引的，所以不能使用通过索引获取元素的方法
//        }

        //遍历集合
        Iterator<String> it = set.iterator();
        while (it.hasNext()){
            String s = it.next();
            System.out.println(s);
        }
        System.out.println("-----------------------------------");
        for (String s : set) {
            System.out.println(s);
        }
    }
}
